AWS Amplify 公式ドキュメントの修正リクエストを送信し取り込まれたので、リポジトリの構造や修正送信の流れなどを紹介します

AWS Amplify 公式ドキュメントの修正リクエストを送信し取り込まれたので、リポジトリの構造や修正送信の流れなどを紹介します

Clock Icon2024.09.09

いわさです。

最近 AWS Amplify をよく検証しています。
以下の記事を検証した際に公式ドキュメントのサンプルコードが誤っていることに気が付きました。

https://dev.classmethod.jp/articles/amplify-gen2-schedule-function/

EventBridge による Lambda 関数をスケジュール実行する機能なのですが、EventBridgeHandler を使う際にパラメータが足りずにバックエンドのデプロイに失敗する問題がありました。

DD94A90D-4851-430B-BD4C-39788E2C4FC8.png

その問題自体はただしそうな実装で回避出来たのですが、せっかくなのでドキュメントにフィードバックと簡単な修正だったのでプルリクエストを送ってみることにしました。

Gen1 と Gen2 などメジャーバージョンで分かれていたり、あるいは React や Swift など様々なプラットフォームごとに記述内容が違っていたりと最初ドキュメントリポジトリを見ると少し混乱する方もいるかもしれないのでドキュメントリポジトリの概要を紹介しつつ、修正依頼を送る流れを整理しておきます。

GitHub のプルリクエストを使って送信することになります。git の使い方や GitHub でのプルリクエスト送信方法については触れないのでご承知おきください。

Amplify ドキュメントは GitHub 上のリポジトリで管理されている

まず、Amplify のドキュメントは GitHub のリポジトリで管理されています。
AWS Amplify 内にはパッケージなど含めて様々なリポジトリが存在しているのですが、その中の aws-amplify/docs の main ブランチがドキュメントのプロダクション環境と同一の内容のリポジトリ・ブランチです。

https://github.com/aws-amplify

6A678845-715D-44A2-94AD-1804EC4C10BB_1_105_c.jpeg

Amplify ドキュメントの特徴として、今は複数のメジャーバージョン(Gen1 と Gen2)がサポートされているという点と、多様なプラットフォームをサポートしているという点があります。
これらのターゲットに応じた情報の表示を単一のドキュメントサイトで実現しています。

プラットフォームに関してはサイドバーにフレームワークや言語を切り替えるドロップダウンが配置されており、こちらを切り替えることでコンテンツも切り替わります。

402662A4-8F07-42C0-9DF9-C938E478A1EC.png

ドキュメントコンテンツはコードから Next.js を使って生成されており、プラットフォーム固有のコンテンツについては次のようにInlineFilterを使って切り替える仕組みとなっています。

AA10881A-FF5D-4AF7-9015-7124330E2ECF.png

メジャーバージョン Gen1 と Gen2 の切り替えについてはページヘッダーコントロール内のドロップダウンで切り替えます。

F50DB50B-81BB-4164-889B-6146F6153289.png

こちらについてはフォルダ構造が異なっています。
今のメインである Gen2 については/src/pages/[platform]を、Gen1 については/src/pages/gen1/[platform]にコードが格納されています。

65A1FD7E-3364-47C5-B2B7-AB2794765A82.png

上記も一部含んでいますが、その他のガイドについてもリポジトリの README.MD に記載されているので事前に目を通しておくと良いです。

795C995B-3694-454D-BA1D-D17A80FA3519.png

修正してみよう

では修正リクエストを送ってみましょう。
今回修正したいページは以下です。

https://docs.amplify.aws/react/build-a-backend/functions/scheduling-functions/

まずはコードを特定する必要があります。
以下になるのですがページ URL とコンテンツの階層は同じなので、前述の Gen2 の開始はどこかなどを把握しておけば特定は簡単だと思います。見つからなかったらリポジトリ内で検索しましょう。

5D0CD322-A205-45D6-91E4-E5BBFA2B7896.png

リポジトリをフォークしてコミットを作成しました。
こんな感じです。

2FCAA7A5-374D-4977-B441-FF6774BCFEE0.png

後は main ブランチに対してのプルリクエストを作成するだけです。
PR テンプレートに従って記述する必要がありますが、プルリクエストの説明や Issue をリンクさせたくらいで必要最低限な内容だったと思います。

C40C1D3B-89F4-409E-ACA3-AD2EC83C57AA.png

参考までに実際に私が作成したプルリクエストは以下です。

https://github.com/aws-amplify/docs/pull/7940

モデレーターの方が Issue のリンクなど親切に色々と対応いただきました。
2 名以上のレビューアに Approve されるとマージされてすぐにプロダクション環境に反映されていました。

5E5BEF7B-90A0-4883-9B88-3133D07676D4.png

BE73CC69-C5AF-4DD9-B422-B9BC3F81FA27.png

Issue も自動でクローズされます。

449C8040-D311-4F82-86EA-8E08308BB2E6.png

Issue 作成からだいたい 1 日強くらいでプロダクション環境に反映されました。

さいごに

本日は Amplify ドキュメントの修正リクエストを送信し取り込まれたので、リポジトリの構造や修正の送信方法の流れなどを紹介しました。

注意点としては Amplify 固有のプラットフォームやメジャーバージョンの切り替えに関するフォルダ構想やインラインフィルターについてだけ知っておくくらいでしょうか。
私が確認した限りでは特に新機能などを試しているとドキュメント誤りを見つけることが多いのでドンドン修正リクエストを送りたいなと思いました。

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.